1. Technical Field
The present invention relates in general to the field of computers, and, in particular, to graphical user interfaces. Still more particularly, the present invention relates to an improved method and system for controlling and viewing an application program running in an inactive window using a viewing controller in an active window on a computer display screen.
2. Description of the Related Art
Most computers today support a Windows environment, which allows multiple application programs to be open simultaneously. These application programs may be concurrently displayed on the computer's display in separate open windows, which may be active or inactive. If the application program is displayed in an active window, a user can manipulate the display and operation of the application, including inputting data, changing the display, etc. If the application program is displayed in an inactive window, the application program is still running, the user can view a portion of the content thereof but cannot manipulate its display or operation, including inputting data, scrolling the display, etc. The active and inactive windows may be displayed such that they overlap (“cascade”), or they may be “tiled” such that they extend from vertical horizon to vertical horizon of the display without overlapping.
A common task for the user to perform using multiple open display windows is to have a first application in an active window (“input window”) into which data may be input, while an inactive window (“reference window”) is open only for viewing data from a second application. Thus, the user can visually read, from the inactive window, data to be input into the active window's application program. If the two applications' displays overlap each other, the user is forced to frequently change input focus (activating the window) from the input window to the reference window in order to view the entire reference window. Focus must then be switched back to the input window to continue the process of inputting data into the first program. In the event that two application windows are opened without overlapping (tiled), it is still necessary to switch focus between the windows when data in the reference window needs to be scrolled up or down in order to be visible to the user.
Switching focus between windows is a problem for all computers due to the time required by the user to switch window focus. Additionally, there is the problem of the user forgetting which window is active, and inadvertently overwriting data in the active window. With computing devices having small display screens, there is also the problem of allocating limited screen real estate, which typically are optimized by displaying only a portion of the reference window described above.
Personal Digital Assistants (PDA's), handheld computers and tablet computing devices are devices that have such small display screens. For example, PDA's typically have an array of only 160 pixels by 160 pixels within less than six square inches of viewable area. The primary means of interacting with these types of devices is typically through a stylus. While such devices can support multiple windows being simultaneously open, the size of their display screen makes them less than optimal for supporting a windowing environment. For these types of devices, the best use of windowing is to size and position the windows such that they are tiled with the width of each window, and only portions of the inactive reference window(s) are visible behind the active input window.